Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Identity-based encryption</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Identity-based_encryption"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Identity-based_encryption rootpage-Identity-based_encryption skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Identity-based encryption</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p><b>Identity-based encryption</b> (<b>IBE</b>), is an important primitive of <a href="Identity-based_cryptography" title="Identity-based cryptography">identity-based cryptography</a>. As such it is a type of <a href="Public-key_encryption" class="mw-redirect" title="Public-key encryption">public-key encryption</a> in which the <a href="Public_key" class="mw-redirect" title="Public key">public key</a> of a user is some unique information about the identity of the user (e.g. a user's email address). This means that a sender who has access to the public parameters of the system can encrypt a message using e.g. the text-value of the receiver's name or email address as a key. The receiver obtains its decryption key from a central authority, which needs to be trusted as it generates secret keys for every user.
</p><p>Identity-based encryption was proposed by <a href="Adi_Shamir" title="Adi Shamir">Adi Shamir</a> in 1984.<sup id="cite_ref-iseca.org_1-0" class="reference"><a href="#cite_note-iseca.org-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> He was however only able to give an instantiation of <a href="Identity-based_cryptography" title="Identity-based cryptography">identity-based signatures</a>. Identity-based encryption remained an open problem for many years.
</p><p>The <a href="Pairing-based_cryptography" title="Pairing-based cryptography">pairing</a>-based <a href="Boneh%E2%80%93Franklin_scheme" title="Boneh–Franklin scheme">Boneh–Franklin scheme</a><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> and <a href="Cocks_IBE_scheme" title="Cocks IBE scheme">Cocks's encryption scheme</a><sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> based on <a href="Quadratic_residue" title="Quadratic residue">quadratic residues</a> both solved the IBE problem in 2001.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Usage">Usage</h2></div>
<p>Identity-based systems allow any party to generate a public key from a known identity value such as an ASCII string. A trusted third party, called the Private Key Generator (PKG), generates the corresponding private keys. To operate, the PKG first publishes a master public key, and retains the corresponding <b>master private key</b> (referred to as <i>master key</i>). Given the master public key, any party can compute a public key corresponding to the identity by combining the master public key with the identity value. To obtain a corresponding private key, the party authorized to use the identity <i>ID</i> contacts the PKG, which uses the master private key to generate the private key for identity <i>ID</i>.
</p><p>As a result, parties may encrypt messages (or verify signatures) with no prior distribution of keys between individual participants. This is extremely useful in cases where pre-distribution of authenticated keys is inconvenient or infeasible due to technical restraints. However, to decrypt or sign messages, the authorized user must obtain the appropriate private key from the PKG. A caveat of this approach is that the PKG must be highly trusted, as it is capable of generating any user's private key and may therefore decrypt (or sign) messages without authorization. Because any user's private key can be generated through the use of the third party's secret, this system has inherent <a href="Key_escrow" title="Key escrow">key escrow</a>. A number of variant systems have been proposed which remove the escrow including <a href="Certificate-based_encryption" title="Certificate-based encryption">certificate-based encryption</a>,<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> <a href="Secure_key_issuing_cryptography" title="Secure key issuing cryptography">secure key issuing cryptography</a><sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> and <a href="Certificateless_cryptography" title="Certificateless cryptography">certificateless cryptography</a>.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p><p>
The steps involved are depicted in this diagram:</p>
<div class="mw-heading mw-heading2"><h2 id="Protocol_framework">Protocol framework</h2></div>
<p><a href="Dan_Boneh" title="Dan Boneh">Dan Boneh</a> and <a href="Matthew_K._Franklin" title="Matthew K. Franklin">Matthew K. Franklin</a> defined a set of four algorithms that form a complete IBE system:
</p>
<ul><li><b>Setup</b>: This algorithm is run by the PKG one time for creating the whole IBE environment. The master key is kept secret and used to derive users' private keys, while the system parameters are made public. It accepts a <a href="Security_parameter" title="Security parameter">security parameter</a> <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<mi>k</mi>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle k}</annotation>
</semantics>
</math></span><img src="./830c7cc740a65504c732ccbc15c2c50420bb0bc8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.211ex; height:2.176ex;" alt="{\displaystyle \textstyle k}" loading="lazy"></span> (i.e. binary length of key material) and outputs:</li></ul>
<ol><li>A set <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle {\mathcal {P}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi class="MJX-tex-caligraphic" mathvariant="script">P</mi>
</mrow>
</mrow>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle {\mathcal {P}}}</annotation>
</semantics>
</math></span><img src="./c7c280fff07a06488e139336cf19b9f7a2d02f7d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.704ex; height:2.176ex;" alt="{\displaystyle \textstyle {\mathcal {P}}}" loading="lazy"></span> of system parameters, including the message space and ciphertext space <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle {\mathcal {M}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi class="MJX-tex-caligraphic" mathvariant="script">M</mi>
</mrow>
</mrow>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle {\mathcal {M}}}</annotation>
</semantics>
</math></span><img src="./20a4d93362b2b4001add826353ad085199fa6720.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.791ex; height:2.176ex;" alt="{\displaystyle \textstyle {\mathcal {M}}}" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle {\mathcal {C}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi class="MJX-tex-caligraphic" mathvariant="script">C</mi>
</mrow>
</mrow>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle {\mathcal {C}}}</annotation>
</semantics>
</math></span><img src="./82d93a741089e2003f1fde0ff29d680d2159dee4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.239ex; height:2.176ex;" alt="{\displaystyle \textstyle {\mathcal {C}}}" loading="lazy"></span>,</li>
<li>a master key <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle K_{m}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<msub>
<mi>K</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msub>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle K_{m}}</annotation>
</semantics>
</math></span><img src="./305b3cf6e1ae4b529a4950fbda5411329e15bcd5.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.648ex; height:2.509ex;" alt="{\displaystyle \textstyle K_{m}}" loading="lazy"></span>.</li></ol>
<ul><li><b>Extract</b>: This algorithm is run by the PKG when a user requests his private key. Note that the verification of the <a href="Authentication" title="Authentication">authenticity</a> of the requestor and the secure transport of <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle d}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<mi>d</mi>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle d}</annotation>
</semantics>
</math></span><img src="./c4a5f1130824df33e2aff957314f14b0f8745ee4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.216ex; height:2.176ex;" alt="{\displaystyle \textstyle d}" loading="lazy"></span> are problems with which IBE protocols do not try to deal. It takes as input <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle {\mathcal {P}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi class="MJX-tex-caligraphic" mathvariant="script">P</mi>
</mrow>
</mrow>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle {\mathcal {P}}}</annotation>
</semantics>
</math></span><img src="./c7c280fff07a06488e139336cf19b9f7a2d02f7d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.704ex; height:2.176ex;" alt="{\displaystyle \textstyle {\mathcal {P}}}" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle K_{m}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<msub>
<mi>K</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msub>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle K_{m}}</annotation>
</semantics>
</math></span><img src="./305b3cf6e1ae4b529a4950fbda5411329e15bcd5.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.648ex; height:2.509ex;" alt="{\displaystyle \textstyle K_{m}}" loading="lazy"></span> and an identifier <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle ID\in \left\{0,1\right\}^{*}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<mi>I</mi>
<mi>D</mi>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow>
<mo>{</mo>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
</mrow>
<mo>}</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle ID\in \left\{0,1\right\}^{*}}</annotation>
</semantics>
</math></span><img src="./94d1bcb7edd5deb2f1fe1f4202a60f60468d1049.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:12.675ex; height:3.009ex;" alt="{\displaystyle \textstyle ID\in \left\{0,1\right\}^{*}}" loading="lazy"></span> and returns the private key <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle d}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<mi>d</mi>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle d}</annotation>
</semantics>
</math></span><img src="./c4a5f1130824df33e2aff957314f14b0f8745ee4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.216ex; height:2.176ex;" alt="{\displaystyle \textstyle d}" loading="lazy"></span> for user <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle ID}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<mi>I</mi>
<mi>D</mi>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle ID}</annotation>
</semantics>
</math></span><img src="./3727e7c8a0edc6d976dfde56750d4d8acf478baa.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.096ex; height:2.176ex;" alt="{\displaystyle \textstyle ID}" loading="lazy"></span>.</li>
<li><b>Encrypt</b>: Takes <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle {\mathcal {P}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi class="MJX-tex-caligraphic" mathvariant="script">P</mi>
</mrow>
</mrow>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle {\mathcal {P}}}</annotation>
</semantics>
</math></span><img src="./c7c280fff07a06488e139336cf19b9f7a2d02f7d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.704ex; height:2.176ex;" alt="{\displaystyle \textstyle {\mathcal {P}}}" loading="lazy"></span>, a message <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle m\in {\mathcal {M}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<mi>m</mi>
<mo>∈<!-- ∈ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi class="MJX-tex-caligraphic" mathvariant="script">M</mi>
</mrow>
</mrow>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle m\in {\mathcal {M}}}</annotation>
</semantics>
</math></span><img src="./1ecec959f86964de07f2ffcfeaeb625a947d1f6b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:7.672ex; height:2.176ex;" alt="{\displaystyle \textstyle m\in {\mathcal {M}}}" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle ID\in \left\{0,1\right\}^{*}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<mi>I</mi>
<mi>D</mi>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow>
<mo>{</mo>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
</mrow>
<mo>}</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle ID\in \left\{0,1\right\}^{*}}</annotation>
</semantics>
</math></span><img src="./94d1bcb7edd5deb2f1fe1f4202a60f60468d1049.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:12.675ex; height:3.009ex;" alt="{\displaystyle \textstyle ID\in \left\{0,1\right\}^{*}}" loading="lazy"></span> and outputs the encryption <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle c\in {\mathcal {C}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<mi>c</mi>
<mo>∈<!-- ∈ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi class="MJX-tex-caligraphic" mathvariant="script">C</mi>
</mrow>
</mrow>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle c\in {\mathcal {C}}}</annotation>
</semantics>
</math></span><img src="./415ade4342afa090560ca14d8e7804d1a6df3d7f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.087ex; height:2.176ex;" alt="{\displaystyle \textstyle c\in {\mathcal {C}}}" loading="lazy"></span>.</li>
<li><b>Decrypt</b>: Accepts <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle d}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<mi>d</mi>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle d}</annotation>
</semantics>
</math></span><img src="./c4a5f1130824df33e2aff957314f14b0f8745ee4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.216ex; height:2.176ex;" alt="{\displaystyle \textstyle d}" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle {\mathcal {P}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi class="MJX-tex-caligraphic" mathvariant="script">P</mi>
</mrow>
</mrow>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle {\mathcal {P}}}</annotation>
</semantics>
</math></span><img src="./c7c280fff07a06488e139336cf19b9f7a2d02f7d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.704ex; height:2.176ex;" alt="{\displaystyle \textstyle {\mathcal {P}}}" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle c\in {\mathcal {C}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<mi>c</mi>
<mo>∈<!-- ∈ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi class="MJX-tex-caligraphic" mathvariant="script">C</mi>
</mrow>
</mrow>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle c\in {\mathcal {C}}}</annotation>
</semantics>
</math></span><img src="./415ade4342afa090560ca14d8e7804d1a6df3d7f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.087ex; height:2.176ex;" alt="{\displaystyle \textstyle c\in {\mathcal {C}}}" loading="lazy"></span> and returns <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \textstyle m\in {\mathcal {M}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mstyle displaystyle="false" scriptlevel="0">
<mi>m</mi>
<mo>∈<!-- ∈ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi class="MJX-tex-caligraphic" mathvariant="script">M</mi>
</mrow>
</mrow>
</mstyle>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \textstyle m\in {\mathcal {M}}}</annotation>
</semantics>
</math></span><img src="./1ecec959f86964de07f2ffcfeaeb625a947d1f6b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:7.672ex; height:2.176ex;" alt="{\displaystyle \textstyle m\in {\mathcal {M}}}" loading="lazy"></span>.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Correctness_constraint">Correctness constraint</h3></div>
<p>In order for the whole system to work, one has to postulate that:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \forall m\in {\mathcal {M}},ID\in \left\{0,1\right\}^{*}:\mathrm {Decrypt} \left(\mathrm {Extract} \left({\mathcal {P}},K_{m},ID\right),{\mathcal {P}},\mathrm {Encrypt} \left({\mathcal {P}},m,ID\right)\right)=m}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi mathvariant="normal">∀<!-- ∀ --></mi>
<mi>m</mi>
<mo>∈<!-- ∈ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi class="MJX-tex-caligraphic" mathvariant="script">M</mi>
</mrow>
</mrow>
<mo>,</mo>
<mi>I</mi>
<mi>D</mi>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow>
<mo>{</mo>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
</mrow>
<mo>}</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
<mo>:</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">D</mi>
<mi mathvariant="normal">e</mi>
<mi mathvariant="normal">c</mi>
<mi mathvariant="normal">r</mi>
<mi mathvariant="normal">y</mi>
<mi mathvariant="normal">p</mi>
<mi mathvariant="normal">t</mi>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">E</mi>
<mi mathvariant="normal">x</mi>
<mi mathvariant="normal">t</mi>
<mi mathvariant="normal">r</mi>
<mi mathvariant="normal">a</mi>
<mi mathvariant="normal">c</mi>
<mi mathvariant="normal">t</mi>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi class="MJX-tex-caligraphic" mathvariant="script">P</mi>
</mrow>
</mrow>
<mo>,</mo>
<msub>
<mi>K</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>I</mi>
<mi>D</mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi class="MJX-tex-caligraphic" mathvariant="script">P</mi>
</mrow>
</mrow>
<mo>,</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">E</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
<mi mathvariant="normal">r</mi>
<mi mathvariant="normal">y</mi>
<mi mathvariant="normal">p</mi>
<mi mathvariant="normal">t</mi>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi class="MJX-tex-caligraphic" mathvariant="script">P</mi>
</mrow>
</mrow>
<mo>,</mo>
<mi>m</mi>
<mo>,</mo>
<mi>I</mi>
<mi>D</mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>m</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \forall m\in {\mathcal {M}},ID\in \left\{0,1\right\}^{*}:\mathrm {Decrypt} \left(\mathrm {Extract} \left({\mathcal {P}},K_{m},ID\right),{\mathcal {P}},\mathrm {Encrypt} \left({\mathcal {P}},m,ID\right)\right)=m}</annotation>
</semantics>
</math></span><img src="./f64ca16d27e299ecb05dbc03fc2c2f4881139bfe.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:84.067ex; height:3.009ex;" alt="{\displaystyle \forall m\in {\mathcal {M}},ID\in \left\{0,1\right\}^{*}:\mathrm {Decrypt} \left(\mathrm {Extract} \left({\mathcal {P}},K_{m},ID\right),{\mathcal {P}},\mathrm {Encrypt} \left({\mathcal {P}},m,ID\right)\right)=m}" loading="lazy"></span></dd></dl>
<div class="mw-heading mw-heading2"><h2 id="Encryption_schemes">Encryption schemes</h2></div>
<p>The most efficient identity-based encryption schemes are currently based on <a href="Pairing" title="Pairing">bilinear pairings</a> on <a href="Elliptic_curves" class="mw-redirect" title="Elliptic curves">elliptic curves</a>, such as the <a href="Weil_pairing" title="Weil pairing">Weil</a> or <a href="Tate_pairing" title="Tate pairing">Tate</a> pairings. The first of these schemes was developed by <a href="Dan_Boneh" title="Dan Boneh">Dan Boneh</a> and <a href="Matthew_K._Franklin" title="Matthew K. Franklin">Matthew K. Franklin</a> (2001), and performs <a href="Probabilistic_encryption" title="Probabilistic encryption">probabilistic encryption</a> of arbitrary ciphertexts using an <a href="ElGamal_encryption" title="ElGamal encryption">Elgamal</a>-like approach. Though the <a href="BonehFranklinScheme" class="mw-redirect" title="BonehFranklinScheme">Boneh-Franklin scheme</a> is <a href="Provable_security" title="Provable security">provably secure</a>, the security proof rests on relatively new assumptions about the hardness of problems in certain elliptic curve groups.
</p><p>Another approach to identity-based encryption was proposed by <a href="Clifford_Cocks" title="Clifford Cocks">Clifford Cocks</a> in 2001. The <a href="Cocks_IBE_scheme" title="Cocks IBE scheme">Cocks IBE scheme</a> is based on well-studied assumptions (the <a href="Quadratic_residuosity_problem" title="Quadratic residuosity problem">quadratic residuosity assumption</a>) but encrypts messages one bit at a time with a high degree of <a href="Ciphertext_expansion" title="Ciphertext expansion">ciphertext expansion</a>. Thus it is highly inefficient and impractical for sending all but the shortest messages, such as a session key for use with a <a href="Symmetric_cipher" class="mw-redirect" title="Symmetric cipher">symmetric cipher</a>.
</p><p>A third approach to IBE is through the use of lattices.
</p>
<div class="mw-heading mw-heading3"><h3 id="Identity-based_encryption_algorithms">Identity-based encryption algorithms</h3></div>
<p>The following lists practical identity-based encryption algorithms
</p>
<ul><li><a href="Boneh%E2%80%93Franklin_scheme" title="Boneh–Franklin scheme">Boneh–Franklin</a> (BF-IBE).</li>
<li><a href="Sakai%E2%80%93Kasahara_scheme" title="Sakai–Kasahara scheme">Sakai–Kasahara</a> (SK-IBE).<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup></li>
<li>Boneh–Boyen (BB-IBE).<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup></li></ul>
<p>All these algorithms have <a href="Provable_security" title="Provable security">security proofs</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Advantages">Advantages</h2></div>
<p>One of the major advantages of any identity-based encryption scheme is that if there are only a finite number of users, after all users have been issued with keys the third party's secret can be destroyed. This can take place because this system assumes that, once issued, keys are always valid (as this basic system lacks a method of key revocation). The majority of derivatives of this system which have key revocation lose this advantage.
</p><p>Moreover, as public keys are derived from identifiers, IBE eliminates the need for a public key distribution infrastructure. The <a href="Authentication" title="Authentication">authenticity</a> of the public keys is guaranteed implicitly as long as the transport of the private keys to the corresponding user is kept secure (<a href="Authentication#Computer_security" title="Authentication">authenticity</a>, <a href="Data_integrity" title="Data integrity">integrity</a>, <a href="Confidentiality" title="Confidentiality">confidentiality</a>).
</p><p>Apart from these aspects, IBE offers interesting features emanating from the possibility to encode additional information into the identifier. For instance, a sender might specify an expiration date for a message. He appends this timestamp to the actual recipient's identity (possibly using some binary format like X.509). When the receiver contacts the PKG to retrieve the private key for this public key, the PKG can evaluate the identifier and decline the extraction if the expiration date has passed. Generally, embedding data in the ID corresponds to opening an additional channel between sender and PKG with authenticity guaranteed through the dependency of the private key on the identifier.
</p>
<div class="mw-heading mw-heading2"><h2 id="Drawbacks">Drawbacks</h2></div>
<ul><li>If a Private Key Generator (PKG) is compromised, all messages protected over the entire lifetime of the public–private key pair used by that server are also compromised. This makes the PKG a high-value target to adversaries. To limit the exposure due to a compromised server, the master private-public key pair could be updated with a new independent key pair. However, this introduces a key-management problem where all users must have the most recent public key for the server.</li>
<li>Because the Private Key Generator (PKG) generates private keys for users, it may decrypt and/or sign any message without authorization. This implies that IBS systems cannot be used for <a href="Non-repudiation" title="Non-repudiation">non-repudiation</a>. This may not be an issue for organizations that host their own PKG and are willing to trust their system administrators and do not require non-repudiation.</li>
<li>The issue of implicit key escrow does not exist with the current <a href="Public_key_infrastructure" title="Public key infrastructure">PKI</a> system, wherein private keys are usually generated on the user's computer. Depending on the context key escrow can be seen as a positive feature (e.g., within Enterprises). A number of variant systems have been proposed which remove the escrow including <a href="Certificate-based_encryption" title="Certificate-based encryption">certificate-based encryption</a>, <a href="Secret_sharing" title="Secret sharing">secret sharing</a>, <a href="Secure_key_issuing_cryptography" title="Secure key issuing cryptography">secure key issuing cryptography</a> and <a href="Certificateless_cryptography" title="Certificateless cryptography">certificateless cryptography</a>.</li>
<li>A secure channel between a user and the Private Key Generator (PKG) is required for transmitting the private key on joining the system. Here, a <a href="Secure_Sockets_Layer" class="mw-redirect" title="Secure Sockets Layer">SSL</a>-like connection is a common solution for a large-scale system. It is important to observe that users that hold accounts with the PKG must be able to authenticate themselves. In principle, this may be achieved through username, password or through public key pairs managed on smart cards.</li>
<li>IBE solutions may rely on cryptographic techniques that are insecure against code breaking <a href="Quantum_computer" class="mw-redirect" title="Quantum computer">quantum computer</a> attacks (see <a href="Shor's_algorithm" title="Shor's algorithm">Shor's algorithm</a>).</li></ul>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Identity-based_cryptography" title="Identity-based cryptography">Identity-based cryptography</a></li>
<li><a href="Identity-based_conditional_proxy_re-encryption" title="Identity-based conditional proxy re-encryption">Identity-based conditional proxy re-encryption</a></li>
<li><a href="Attribute-based_encryption" title="Attribute-based encryption">Attribute-based encryption</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-iseca.org-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-iseca.org_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFShamir1984" class="citation conference cs1"><a href="Adi_Shamir" title="Adi Shamir">Shamir, Adi</a> (1984). "Identity-Based Cryptosystems and Signature Schemes". In Blakley, G. R.; Chaum, David (eds.). <i>Advances in Cryptology, Proceedings of CRYPTO '84, Santa Barbara, California, USA, August 19–22, 1984, Proceedings</i>. Lecture Notes in Computer Science. Vol.&nbsp;196. Springer. pp.&nbsp;<span class="nowrap">47–</span>53. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F3-540-39568-7_5">10.1007/3-540-39568-7_5</a></span>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite id="CITEREFBonehFranklin2003" class="citation journal cs1"><a href="Dan_Boneh" title="Dan Boneh">Boneh, Dan</a>; <a href="Matthew_K._Franklin" title="Matthew K. Franklin">Franklin, Matthew</a> (2003). "Identity-based encryption from the Weil pairing". <i><a href="SIAM_Journal_on_Computing" title="SIAM Journal on Computing">SIAM Journal on Computing</a></i>. <b>32</b> (3): <span class="nowrap">586–</span>615. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1137%2FS0097539701398521">10.1137/S0097539701398521</a>. <a href="MR_(identifier)" class="mw-redirect" title="MR (identifier)">MR</a>&nbsp;<a rel="nofollow" class="external text" href="https://mathscinet.ams.org/mathscinet-getitem?mr=2001745">2001745</a>.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite id="CITEREFCocks2001" class="citation conference cs1"><a href="Clifford_Cocks" title="Clifford Cocks">Cocks, Clifford C.</a> (2001). "An identity based encryption scheme based on quadratic residues". In Honary, Bahram (ed.). <i>Cryptography and Coding, 8th IMA International Conference, Cirencester, UK, December 17–19, 2001, Proceedings</i>. Lecture Notes in Computer Science. Vol.&nbsp;2260. Springer. pp.&nbsp;<span class="nowrap">360–</span>363. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F3-540-45325-3_32">10.1007/3-540-45325-3_32</a>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite id="CITEREFGentry2003" class="citation conference cs1"><a href="Craig_Gentry" title="Craig Gentry">Gentry, Craig</a> (2003). <a rel="nofollow" class="external text" href="https://eprint.iacr.org/2003/183">"Certificate-based encryption and the certificate revocation problem"</a>. In Biham, Eli (ed.). <i>Advances in Cryptology – EUROCRYPT 2003, International Conference on the Theory and Applications of Cryptographic Techniques, Warsaw, Poland, May 4–8, 2003, Proceedings</i>. Lecture Notes in Computer Science. Vol.&nbsp;2656. Springer. pp.&nbsp;<span class="nowrap">272–</span>293. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F3-540-39200-9_17">10.1007/3-540-39200-9_17</a></span>.</cite></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite id="CITEREFLeeBoydDawsonKim2004" class="citation conference cs1">Lee, Byoungcheon; Boyd, Colin; Dawson, Ed; Kim, Kwangjo; Yang, Jeongmo; Yoo, Seungjae (2004). <a rel="nofollow" class="external text" href="https://crpit.scem.westernsydney.edu.au/abstracts/CRPITV32Lee.html">"Secure key issuing in ID-based cryptography"</a>. In Hogan, James M.; Montague, Paul; Purvis, Martin K.; Steketee, Chris (eds.). <i>ACSW Frontiers 2004, 2004 ACSW Workshops – the Australasian Information Security Workshop (AISW2004), the Australasian Workshop on Data Mining and Web Intelligence (DMWI2004), and the Australasian Workshop on Software Internationalisation (AWSI2004), Dunedin, New Zealand, January 2004</i>. CRPIT. Vol.&nbsp;32. Australian Computer Society. pp.&nbsp;<span class="nowrap">69–</span>74.</cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite id="CITEREFAl-RiyamiPaterson2003" class="citation conference cs1">Al-Riyami, Sattam S.; Paterson, Kenneth G. (2003). <a rel="nofollow" class="external text" href="https://eprint.iacr.org/2003/126">"Certificateless public key cryptography"</a>. In Laih, Chi-Sung (ed.). <i>Advances in Cryptology – ASIACRYPT 2003, 9th International Conference on the Theory and Application of Cryptology and Information Security, Taipei, Taiwan, November 30 – December 4, 2003, Proceedings</i>. Lecture Notes in Computer Science. Vol.&nbsp;2894. Springer. pp.&nbsp;<span class="nowrap">452–</span>473. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-540-40061-5_29">10.1007/978-3-540-40061-5_29</a></span>.</cite></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite id="CITEREFSakaiKasahara2003" class="citation web cs1">Sakai, Ryuichi; Kasahara, Masao (2003). <a rel="nofollow" class="external text" href="https://eprint.iacr.org/2003/054">"ID Based cryptosystems with pairing on elliptic curve"</a>. <i>Cryptography ePrint Archive</i>.</cite></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite id="CITEREFBonehBoyen2004" class="citation conference cs1"><a href="Dan_Boneh" title="Dan Boneh">Boneh, Dan</a>; Boyen, Xavier (2004). <a rel="nofollow" class="external text" href="https://eprint.iacr.org/2004/172">"Efficient selective-ID secure identity based encryption without random oracles"</a>. In Cachin, Christian; Camenisch, Jan (eds.). <i>Advances in Cryptology – EUROCRYPT 2004, International Conference on the Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, May 2–6, 2004, Proceedings</i>. Lecture Notes in Computer Science. Vol.&nbsp;3027. Springer. pp.&nbsp;<span class="nowrap">223–</span>238. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-540-24676-3_14">10.1007/978-3-540-24676-3_14</a></span>.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20201020201238/https://www.crypto.ruhr-uni-bochum.de/lehre/ss14/cryptosem.html.en">Seminar 'Cryptography and Security in Banking'/'Alternative Cryptology', Ruhr University Bochum, Germany</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20170605075501/http://www.ietf.org/rfc/rfc5091.txt">RFC 5091 - the IETF RFC defining two common IBE algorithms</a></li>
<li><a rel="nofollow" class="external text" href="http://www.hpl.hp.com/techreports/2003/HPL-2003-21.pdf">HP Role-Based Encryption</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20031212160232/http://www.hpl.hp.com/techreports/2003/HPL-2003-21.pdf">Archived</a> 2003-12-12 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20090416044556/http://www.larc.usp.br/~pbarreto/pblounge.html">The Pairing-Based Crypto Lounge</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20090628190353/http://www.voltage.com/vsn/">The Voltage Security Network - IBE encryption web service</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20080314104119/http://www.ferris.com/2006/05/30/the-total-cost-of-ownership-for-voltage-identity-based-encryption-solutions/">Analyst report on the cost of IBE versus PKI</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-08-01" href="https://en.wikipedia.org/wiki/?title=Identity-based_encryption&amp;oldid=1303769714">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>